package dbrouter;

import java.lang.reflect.*;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Util
{
    public static Object executarGetter(Object entidade, String nomeMetodo)
    {
        try
        {
            Class[] tipoGet = new Class[]{};
            Method metodo = entidade.getClass().getMethod(nomeMetodo, tipoGet);
            return metodo.invoke(entidade, new Object[]{});
        }
        catch (Exception ex)
        {
            Logger.getLogger(Util.class.getName()).log(Level.SEVERE, null, ex);
            return null;
        }
    }

    public static String getCampoIdentificador(Object entidade)
    {
        for (Field item: entidade.getClass().getDeclaredFields())
        {
            if (item.isAnnotationPresent(AutoNumerico.class))
                return item.getName();
        }

        return "";
    }
}
